<?php
//designed by Juan Carlos Molina L.
class comprasproveedorModelo extends Modelo
{

	public function __construc(){
		parent::__construc();
	}

	public function cargarlista($lista, $filtro, $esMultiple) {
	    try {
	        $SQLSelectLista = "";
	        $sbReturn = "<option value='-1'>Seleccionar Valor</option>";

	        /*switch ($lista) {
	            case "almacen":
	                $SQLSelectLista = "select nosucursal as valor, nombre as etiqueta from sucursal ";
	                break;
                case "linea":
	                $SQLSelectLista = "select nolinea as valor, nombre as etiqueta from linea ";
	                break;
	            case "cliente":
	                $SQLSelectLista = "select nocliente as valor, cedula||' - '||nombre as etiqueta from cliente order by cedula";
	                break;
                case "departamento":
	                $SQLSelectLista = "select nodepartamento as valor, nombre as etiqueta from departamento ";
	                break;
                case "producto":
	                $SQLSelectLista = "select noproducto as valor, referencia||' - '||nombre as etiqueta from producto order by referencia";
	                break;
	            case "rutas":
	                $sbReturn = "";
	                $SQLSelectLista = " ";
	                break;            
	        }*/
	        $SQLSelectLista = "select valor, etiqueta from listas_compra where lista = '".$lista."' ";

	        $bd_rc = $this->ejecutar( $SQLSelectLista );
			$no_rc = $this->contar( $bd_rc );

	        if ($no_rc > 0) {
	        	for( $i = 0; $i < $no_rc; $i++){
					$rg_rc = $this->buscaruno( $bd_rc, $i );

	                if($esMultiple === true) {
	                    $sbReturn.="<input type='checkbox' class='check".$lista."' value='" . trim($rg_rc['valor']) . "'>" . trim($rg_rc['valor']) . "</input>";
	                } else {
	                    $sbReturn.="<option value='" . trim($rg_rc['valor']) . "'>" . trim($rg_rc['etiqueta']) . "</option>";
	                }
	            }            
	            
	            if($esMultiple === true) {  
	                $sbReturn.="<input type='checkbox' value='todas' class='checkTodas'><strong>Todas</strong></input>";
	            }
	        }

	        return $sbReturn;
	    } catch (Exception $e) {
	        return null;
	    }
	}

	public function consultar_comprasproveedor($fecha_inicial, $fecha_final, $almacen, $linea, $proveedor, $departamento, $producto){
		$lstResultado = array();
		$where = "";
		
		if(isset($fecha_inicial) && isset($fecha_final)) {
			$where .= " AND fecha between '".$fecha_inicial."' AND '".$fecha_final."' ";
		}
		if(isset($almacen) && $almacen !== "-1") {
			$where .= " AND suc_nosucursal = ".$almacen." ";
		}
		if(isset($linea) && $linea !== "-1") {
			$where .= " AND pro_nolinea = ".$linea." ";
		}
		if(isset($proveedor) && $proveedor !== "-1") {
			$where .= " AND noproveedor = ".$proveedor." ";
		}
		if(isset($producto) && $producto !== "-1") {
			$where .= " AND noproducto = ".$producto." ";
		}
		if(isset($departamento) && $departamento !== "-1") {
			$where .= " AND nodepartamento = ".$departamento." ";
		}
		
		$sql = "SELECT noproveedor, nit, prov, sum(cantidad) as cantidad, sum(costo_compra) as costo_compra
				FROM compras_proveedor
				WHERE 1=1 " . $where . "
				group by noproveedor, nit, prov ";

		/* echo $sql;
		exit; */
		
		$bd_rc = $this->ejecutar( $sql );
		$no_rc = $this->contar( $bd_rc );

		if ($no_rc > 0) {			
        	for( $i = 0; $i < $no_rc; $i++){
				$rg_rc = $this->buscaruno( $bd_rc, $i );
				$lstResultado[] = $rg_rc;
            }
        }

		return $lstResultado;
	}
	
	public function consultar_detallecompraspoveedor($codProveedor){
		$lstResultado = array();
		
		$sql = "SELECT noproveedor, nit, prov, cantidad as cantidad, costo_compra, pro_nombre
				FROM compras_proveedor
				WHERE noproveedor = ".$codProveedor ."
				ORDER BY nit ";
		$bd_rc = $this->ejecutar( $sql );
		$no_rc = $this->contar( $bd_rc );

		if ($no_rc > 0) {			
        	for( $i = 0; $i < $no_rc; $i++){
				$rg_rc = $this->buscaruno( $bd_rc, $i );
				$lstResultado[] = $rg_rc;
            }
        }
		return $lstResultado;
	}
}

?>